﻿//using UnityEngine;
//using UnityEngine.UI;
//using FrameOperateSync;
//using System;
//using LiteNetLib.Utils;

//public class AGameSyncInit : MonoBehaviour//, ISyncNetwork
//{
//    [SerializeField, Header("网络模式")]
//    private NetMode netmode;
//    [SerializeField, Header("玩家id")]
//    public int playerId = 111;
//    private Action _fixUpdater = null;
//    private Action<SyncDataPackage> _receviedHander = null;
//    public FrameSyncClient syncClient;

//    private bool pauseSync;
//    private bool resumeSync;
//    private bool stopSync;


//    public Action FixUpdaterHandler { get => _fixUpdater; set => _fixUpdater += value; }
//    public Action<SyncDataPackage> ReceviedHander { get => _receviedHander; set => _receviedHander = value; }
//    public bool delaySimulateFlag { get; set; } = false;

//    public int networkDelay => 0;

//    int ISyncNetwork.networkDelay { get; set; }

//    private void Awake()
//    {
//        HelperUtility.SetFrameParser(new AGameSyncParser());
//        HelperUtility.SetLoger(new AGameSyncLoger());

        
//    }

//    private void Start()
//    {
//        //Debug.LogError("1111111111");
//        //syncClient = new FrameSyncClient(playerId);
//        //if (netmode == NetMode.network)
//        //{
//        //    NetworkClient.Instance.NetReadyGoHander += ()
//        //        =>
//        //    {
//        //        syncClient.BeginSync();
//        //    };
//        //    NetworkClient.Instance.RecveidEvent += ReceviedHander;
//        //}
//        //else
//        //{
//        //    syncClient.BeginSync();
//        //}
//    }

//    private void OnDestroy()
//    {
//        syncClient.EndSync();
//    }

//    private void FixedUpdate()
//    {
//        if (_fixUpdater != null)
//            _fixUpdater();
//    }

//    private void Update()
//    {
//        if (pauseSync)
//        {
//            syncClient.PauseSync();
//            pauseSync = false;
//        }
//        if (resumeSync)
//        {
//            syncClient.ResumeSync();
//            resumeSync = false;
//        }
//        if (stopSync)
//        {
//            syncClient.EndSync();
//            stopSync = false;
//        }
//    }

//    //public void SentPackage(SyncDataPackage netObj)
//    //{
//    //    if (NetworkClient.Instance != null)
//    //        NetworkClient.Instance.SyncData(netObj);
//    //}
//}
